Page({
  data: {
    categories: [
      { id: 1, name: '热门推荐' },
      { id: 2, name: '数码产品' },
      { id: 3, name: '家居生活' },
      { id: 4, name: '服饰鞋包' },
      { id: 5, name: '美妆个护' },
      { id: 6, name: '食品饮料' }
    ],
    activeCategory: 1, // 默认选中热门推荐
    products: [],
    page: 1,
    pageSize: 10,
    loadingMore: false,
    noMoreData: false,
    keywords: ''
  },

  onLoad: function () {
    this.loadProducts();
  },

  // 加载商品数据
  loadProducts: function () {
    if (this.data.loadingMore || this.data.noMoreData) {
      return;
    }
    this.setData({ loadingMore: true });

    // 模拟异步请求数据
    wx.showLoading({ title: '加载中...' });
    setTimeout(() => {
      const newProducts = this.generateMockProducts(this.data.page, this.data.pageSize);
      this.setData({
        products: [...this.data.products, ...newProducts],
        page: this.data.page + 1,
        loadingMore: false,
        noMoreData: newProducts.length < this.data.pageSize // 如果返回的数据少于pageSize，说明没有更多了
      });
      wx.hideLoading();
    }, 1000);
  },

  // 模拟生成商品数据
  generateMockProducts: function (page, pageSize) {
    const startId = (page - 1) * pageSize;
    const products = [];
    for (let i = 0; i < pageSize; i++) {
      const id = startId + i + 1;
      products.push({
        id: id,
        name: `商品名称 ${id} - 这是一段比较长的商品描述用于测试显示效果`,
        image: `https://picsum.photos/id/${id}/300/300`, // 使用 Lorem Picsum 随机图片
        price: (Math.random() * 100 + 10).toFixed(2),
        sales: Math.floor(Math.random() * 1000) + 100
      });
    }
    return products;
  },

  // 切换分类
  selectCategory: function (e) {
    const id = e.currentTarget.dataset.id;
    this.setData({
      activeCategory: id,
      products: [], // 清空商品列表
      page: 1,
      noMoreData: false,
      loadingMore: false
    }, () => {
      this.loadProducts(); // 重新加载该分类的商品
    });
  },

  // 搜索商品
  searchProducts: function (e) {
    const keywords = e.detail.value;
    this.setData({
      keywords: keywords,
      products: [], // 清空商品列表
      page: 1,
      noMoreData: false,
      loadingMore: false
    }, () => {
      this.loadProducts(); // 重新加载搜索结果
    });
    console.log('搜索关键词:', keywords);
  },

  // 跳转到商品详情页
  goToDetail: function (e) {
    const id = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: `/pages/shopping/detail/detail?id=${id}`
    });
  },

  // 页面触底事件，加载更多
  onReachBottom: function () {
    this.loadProducts();
  },

  // 新增：点击悬浮球跳转到购物车页面
  goToCart: function () {
    // wx.switchTab({ // 如果购物车是 TabBar 页面，使用 switchTab
    //   url: '/pages/shopping/cart/cart',
    // });
    // 如果购物车不是 TabBar 页面，使用 navigateTo
    wx.navigateTo({
      url: '/pages/shopping/cart/cart',
      success: function() {
        console.log('跳转到购物车成功');
      },
      fail: function(err) {
        console.error('跳转到购物车失败', err);
      }
    });
  }

})